<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>逻辑运算符</title>
	</head>
	<body>
	</body>
	<script type="text/javascript">
		/* 
			逻辑运算必须用于条件判断上
			逻辑运算符主要用于并联或者串联多个条件
			
			
			&&（并且）	当所有的条件都满足时，才返回真
			||（或者）	当满足其中一个条件时，则返回真
			! （取反）	真 = 真  非真 = 假  非假 = 真
		 */
		// 需求，判断用户必须是男生且身高>= 175cm
		
		// 初始化程序运行所需要的变量
		let sex ='男';
		let height = 175;
		
		/* if嵌套 */
		if(sex == '男'){
			if(height >= 175){
				console.log('qt 合格');
			}else{
				console.log('qt li - 不合格');
			}
		}else{
			console.log('qt wai - 不合格');
		}
		
		/* 使用逻辑运算符来实现需求 */
		if(sex == '男' && height >= 175){
			console.log('bqt 合格');
		}else{
			console.log('bqt 不合格');
		}
		
		// 如果你的购买次数 >= 200或者积分>=300再或者金额>=500的时候
		// 使用if...else if实现
		let buyCount = 200;
		let score = 200;
		let price = 199;
		if(buyCount >= 200){
			console.log('ie 您拥有购买的资格');
		}else if(score >= 300){
			console.log('ie 您拥有购买的资格');
		}else if(price >= 500){
			console.log('ie 您拥有购买的资格');
		}else{
			console.log('ie 您不拥有购买的资格');
		}
		
		// 使用逻辑运算符来代替
		if(buyCount >= 200 || score >= 300 || price >= 500){
			console.log('i 您拥有购买的资格');
		}else{
			console.log('i 您不拥有购买的资格');
		}
		
		// 当年龄超过18岁时，显示成年，否则显示未成年
		// 不大于 = 小于等于    不小于 = 大于等于
		let age = 19;
		// adult代表是否未成年
		let adult = age >= 18;
		
		// 只处理未成年
		if(!adult){
			console.log('未成年不允许抽烟');
		}else{
			// 其它操作，仅供成年人
			console.log('仅供成年人');
		}	
			
		// 三目运算符（代替单个条件的if）
		// adult?1:2;  表达式返回true时，执行1，否则执行2
		// 三目运算符只适用于有if和else的情况
		 let result = age >= 18?'sm 成年':'sm 未成年';
		 console.log(result);
		 
		 
		 // if嵌套（多个条件中，存在公共条件时）
		 // 需求：性别男，身高180cm或者体重65kg
		 let gender = '男';
		 let weight = 67;
		 height = 175;
		 if(gender == '男' && height >= 180 || weight >=65 && gender == '男'){
			 console.log('您是猛男 : )');
		 }
		 // 改写成下方代码
		 if(gender =="男"){
			 if(height >= 180 || weight >=65){
				 console.log('您是猛男 : )');
			 }else{
				 console.log('您不是不是猛男');
			 }
		 }else{
			 console.log('你是一个小姐姐');
		 }
	</script>
</html>
